package org.example.aigc.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.example.aigc.entity.Favorite;

import java.util.List;

@Mapper
public interface FavoriteMapper {

    /**
     * 插入一条收藏记录
     *
     * @param userId   收藏的用户
     * @param courseId 收藏的课程
     */
    void insert(Long userId, Long courseId);

    /**
     * 删除一条收藏记录
     *
     * @param userId   收藏的用户
     * @param courseId 收藏的课程
     */
    void delete(Long userId, Long courseId);

    /**
     * 查询用户是否已经收藏该课程
     *
     * @param userId   收藏的用户
     * @param courseId 收藏的课程
     */
    Favorite hasFavorite(Long userId, Long courseId);

    /**
     * 查找某个用户收藏的课程
     *
     * @param userId 用户的 id
     * @return 返回收藏的课程列表
     */
    List<Favorite> selectByUserId(Long userId);
}
